<?php
/*
  шаблоны свободных виджетов - в папке templates 
  
  [!] имя в базе - MenuLocal
  [!] файл - Widgets/MenuLocal.php
  [!] вывод - {$MenuLocal_widget}
  
  TODO В зависимости от урла нужно подсвечивать один из пунктов меню
  
*/
class MenuLocalWidget extends abstractWidget
{

    private $name = 'MenuLocalWidget';
    const WIDGET_NAME = 'MenuLocalWidget';


    public $modul_id;
    public $modul_index;

    function __construct($input_data = null)
    {
        $this->input_data = $input_data;

        parent::__construct();

        $this->modul_index = Registry::getInstance()->get('modul_index');

        $this->html = '';

        $this->view = $this->registry->get('View');
    }


    function process()
    {

        if (is_null($this->widget_data)) {
            $this->setWidgetData();
        }

        //if( User::isUserLogged() ) $mode = 'user';
        //else $mode = 'guest';

        // $this->view->Set('mode',$mode);

        // $this->html = $this->view->fetch('widget.menu.general.tpl');

        if (isset($this->widget_data['template'])) {

            //$modul_id = null;

            if (isset($this->input_data['modul_id'])) $this->modul_id = $this->input_data['modul_id'];


            $Sections = new SectionsModel('modul_id', $this->modul_id);
            $data = $Sections->getData();


//Если в http://remontik.kh.ua/life после life аргументов нет, первый пункт меню - активный
            $this->dataPostProcess($data);


            // test
            // $Sections = new SectionsModel();
            // fb($Sections->getSectionIdByName('Лицом к лицу'));


            $this->view->sections = $data;

            //$this->dataPostProcess($data);

            $this->html = $this->view->fetch($this->widget_data['template']);
        }

    } // --

    private function dataPostProcess(&$data)
    {
        // parse URL and set navhigh for active item

        ///$action = Controller::getUriArgument(2);
        $action = Registry::getInstance()->request->getURIarg(2);
        $action = Registry::getInstance()->get('Model')->translitBackToCyr($action);

        $section_index = 1;


        if (is_array($data)) {
            for ($i = 0; $i < count($data); $i++) {
                if (isset($data[$i]['seo_link'])) {
                    if ($action == $data[$i]['seo_link']) {
                        $data[$i]['class'] = 'active';
                    } else {
                        $data[$i]['class'] = '';
                    }

                    #
                    $modul_index = Registry::getInstance()->get('modul_index');
                    $modul_index = strtolower($modul_index);
                    $data[$i]['href'] = "/$modul_index/" . $data[$i]['seo_link'];
                }
                $data[$i]['index'] = $section_index++;


            }
        }

        #
        $active_is_here = false;
        if (is_array($data))
            foreach ($data as $k => $v) {
                if (isset($v['class']))
                    if ($v['class'] == 'active')
                        $active_is_here = true;
            }

        if ($active_is_here === false) {
            if (is_array($data)) {
                $data[0]['class'] = 'active';
            }
        }
    }


}


?>